package lesson13;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

/**
 * @author tongchen
 * @create 2023-02-12 22:46
 */
public class ExerAndTest {
  static   Scanner scanner=new Scanner(System.in);
    public static void main(String[] args) throws IOException {
        System.out.println("请输入你要搜寻的目录");

        String baseIndex=scanner.nextLine();
        System.out.println("请输入你要寻找的文件");
        String name=scanner.nextLine();
        //判断文件的有效性
        if(name.equals("")||name==null){
            System.out.println("你输入的文件有误");
            return;
        }
        //判断目录是否存在
        File file = new File(baseIndex);
        if(!file.exists()){
            System.out.println("路径不存在");
            return;
        }
        if(!file.isDirectory()){
            System.out.println("输入的不是一个有效目录");
            return;
        }
        scan(file,name);

    }

    private static void scan(File file, String name) throws IOException {
        File[] files = file.listFiles();
        //检查数组的有效性
        if(files.length==0||files==null){
            System.out.println("没有找到文件");
            return;
        }
        for (File file1:files) {
            if (file1.isDirectory()){
                //循环
                scan(file1, name);
            }
            else {
                //是文件则进行查找删除
                if(file1.getName().contains(name)){
                    System.out.println(file1.getCanonicalFile()+"是否删除Y/N");
                    String flag=scanner.next();
                    if(flag.toLowerCase().equals("y")){

                        file1.delete();
                        System.out.println(file1.getCanonicalFile()+"删除成功");
                    }
                }
            }
        }
    }
}
